package com.sikaryofficial.backend.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sikaryofficial.backend.domain.dto.req.BrandTasteReq;
import com.sikaryofficial.backend.domain.dto.req.ProductListReq;
import com.sikaryofficial.backend.domain.dto.req.QrCodeDownloadListReq;
import com.sikaryofficial.backend.domain.dto.resp.QrCodeDownloadDTO;
import com.sikaryofficial.backend.domain.entity.BrandTaste;
import com.sikaryofficial.system.api.model.product.BrandTasteDTO;

import java.util.Date;

/**
 * 品牌口味Service接口
 *
 * @author qinjinyuan
 * @date 2023-10-27
 */
public interface IBrandTasteService extends IService<BrandTaste> {
    /**
     * 获取品牌口味列表
     *
     * @param req
     * @return
     */
    IPage<BrandTasteDTO> getBrandTasteList(BrandTasteReq req);

    /**
     * 后台管理-产品分页列表
     *
     * @param customerPage
     * @param req
     * @return
     */
    IPage<BrandTasteDTO> productPageList(Page<BrandTasteDTO> customerPage, ProductListReq req, Date startTime, Date endTime);

    /**
     * 更新产品导出最大商品二维码个数
     *
     * @param md5    MD5字符串
     * @param maxNum 二维码生成个数
     * @param userId 用户id
     * @return
     */
    Long updateQrMaxNum(String md5, Long userId, long maxNum);

    /**
     * 获取当前产品最大的短ID
     *
     * @return
     */
    Integer getMaxShortId();

    /**
     * 后台管理-二维码下载列表
     *
     * @param customerPage
     * @param req
     * @return
     */
    IPage<QrCodeDownloadDTO> qrCodeDownloadList(Page<QrCodeDownloadDTO> customerPage, QrCodeDownloadListReq req, Date startDate, Date endDate);
}
